#include <iostream>

class A
{
    char k[3];
public:
    virtual void aa() {}
};

class B : public A
{
    char i[3];
public:
    virtual void bb() {}
};

class C : public B
{
    char j[3];
public:
    virtual void cc() {}
};

class VB : virtual public A
{
    char i[3];
public:
    virtual void bb() {}
};

class VC : virtual public VB
{
    char j[3];
public:
    virtual void cc() {}
};

int main(int argc, const char *argv[])
{
    std::cout << "sizeof(A):" << sizeof(A) << std::endl;
    std::cout << "sizeof(B):" << sizeof(B) << std::endl;
    std::cout << "sizeof(C):" << sizeof(C) << std::endl;
    std::cout << "sizeof(VB):" << sizeof(VB) << std::endl;
    std::cout << "sizeof(VC):" << sizeof(VC) << std::endl;
    return 0;
}
